Android Naive 와 WebView 의 상호 호출 에 대한 자세 한 설명
Android 의 Naive 프로그램 은 WebView 를 끼 워 넣 을 수 있 고 WebView 와 의 상호작용 을 할 수 있 습 니 다.일반적으로 두 가지 방법 이 있 습 니 다.하 나 는 직접 상호작용 입 니 다.예 를 들 어 Naive 가 WebView 를 직접 호출 하 는 방법 과 WebView 가 Naive 를 직접 호출 하 는 방법 입 니 다.둘째,WebView 는하이퍼링크 탭 을 쓸 수 있 습 니 다.그리고 사용자 가 이 탭 을 클릭 할 때 Naive 는 탭 을 클릭 하 는 이 벤트 를 차단 할 수 있 습 니 다.그러면 우 리 는 링크 에 자신의 협 의 를 한 다음 에 Android 와 iOS 는 이 협의 에 따라 똑 같은 처 리 를 하여 여러 플랫폼 을 통일 할 수 있 습 니 다.네 이브 와 웹 뷰 가 어떻게 서로 호출 되 는 지 연구 해 보 자. 초기 화: mWebView = (WebView) findViewById(R.id.main_wv); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.loadUrl("file:///android_asset/demo.html"); //첫 번 째 는 WebView 에 맡 겨 제어 하 는 대상 이 고,두 번 째 는 제어 하 는 대상 의 변수 명,즉 JS 가 이 대상 을 받 은 후 이 대상 에 이름 을 부여 하면 제어 할 수 있 습 니 다. mWebView.addJavascriptInterface(this, "naive"); 1.Naive 에서 JS 를 직접 호출 하 는 방법: 다음은 html 의 JS 방법 입 니 다. : function alert(){ document.getElement ById("title").innerHTML="Naive 호출 Js 무 참 방법"; } naive 를 호출 합 니 다.WebView 의 loadUrl 방법 을 호출 합 니 다.방법 에 서 는 String 을 전달 합 니 다.형식 은'javascript:'+'방법 명'+'(변수)입 니 다. public void onJs(View view) { mWebView.loadUrl("javascript:alert()"); } 인자 JS 방법: function alertWith(arg){ document.getElementById("title").innerHTML = arg; } naive 에서 참조 JS 호출 진행: public void onJsWith(View view) { mWebView.loadUrl("javascript:alertWith('Naive 호출 Js 참조 방법')"); } 2、JS 호출 naive: 로 컬 에서 호출 할 방법 을 먼저 쓰 고,앞 에 주석 을 붙 여야 합 니 다@JavascriptInterface @JavascriptInterface public void toast() { Toast.makeText(this,"JS 가 Naive 의 무 참 방법 을 호출 했 습 니 다",Toast.LENGTHSHORT).show(); } JS 호출 코드: <input type="button"value="클릭 하여 naive 코드 호출"onclick="window.naive.toast()"/> 로 컬 에서 호출 할 방법 을 작성 하 십시오: @JavascriptInterface public void toastWith(String toast) { Toast.makeText(this, toast, Toast.LENGTH_SHORT).show(); } js 호출 참조 코드: <input type="button"value="naive 코드 를 호출 하고 인 자 를 전달 하려 면 누 르 십시오" onclick="window.naive.toastWith('JS 가 Naive 의 참조 코드 를 호출 했 습 니 다')"/>다 은 Activity 의 소 코 입 니 다. public class MainActivity extends AppCompatActivity { private WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = (WebView) findViewById(R.id.main_wv); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.addJavascriptInterface(this, "naive"); mWebView.loadUrl("file:///android_asset/demo.html"); } public void onJs(View view) { mWebView.loadUrl("javascript:alert()"); } public void onJsWith(View view) { mWebView.loadUrl("javascript:alertWith('Naive 호출 Js 참조 방법')"); } @JavascriptInterface public void toast() { Toast.makeText(this,"JS 가 Naive 의 무 참 방법 을 호출 했 습 니 다",Toast.LENGTHSHORT).show(); } @JavascriptInterface public void toastWith(String toast) { Toast.makeText(this, toast, Toast.LENGTH_SHORT).show(); } } 다음 HTML 코드: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <script type="text/javascript"> function alert(){ document.getElement ById("title").innerHTML="Naive 호출 Js 무 참 방법"; } function alertWith(arg){ document.getElementById("title").innerHTML = arg; } </script> </head> <body> <h1 id="title"></h1><br/> <input type="button"value="클릭 하여 naive 코드 호출"onclick="window.naive.toast()"/><br/> <input type="button"value="naive 코드 를 호출 하고 인 자 를 전달 하려 면 누 르 십시오" onclick="window.naive.toastWith('JS 가 Naive 의 참조 코드 를 호출 했 습 니 다')"/> </body> </html> 읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.